## Reed--Solomon codes

from PyM import *

# def Reed_Salomon_Code(a,k):
#     n = len(a)
#     a = vector(a)
#     h = []
#     for i in range(n):
#         hi = 1
#         for j in range(n):
#             if j == i: continue
#             hi = hi*(a[j]-a[i])
#         h += [hi]
#     h = vector(h)
#     h = 1/h
#     C = AC(h,a,n-k)
#     C._G = vandermonde(a,k)
#     return C
# 
# RS = Reed_Salomon_Code

K = Zn(11)

a = vector([pick(j,K) for j in range(1,10)])

C = RS(a,5)

show(a_(C))
show(h_(C))
show(H_(C))
show(G_(C))

show(G_(C)*transpose(H_(C)))